home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 4 / Gold Medal Software - Volume 4 (Gold Medal) (1994).iso / utils1 / file20.arj / FILE.DOC < prev    next >
Text File  |  1994-06-20  |  19KB  |  510 lines

  1.     Manual for FILE 2.0, (C) 1993-94 by Fefe Soft
  2.  
  3.  
  4.  
  5.                              =[  Introduction  ]=
  6.  
  7.     FILE  is the  best file  recognizer known  to me,  and I  am collecting
  8.     things like  that. File's job  is to analyze  files you give  to it and
  9.     then tell you what it found out about the file. FILE's syntax is:
  10.  
  11.       FILE [-?] [-k] [-o] [-f] [filespec [filespec...]]
  12.  
  13.     FILE without parameters analyzes all files in the current directory.
  14.     The -k parameter tells FILE not to touch unwanted files.
  15.     The -o parameter lets FILE output the size and CRC-32 of the files.
  16.     The -f parameter  tells FILE not to ask you  if it should kill unwanted
  17.     files.
  18.  
  19.     FILE's filespecs are  more advanced DOS filespecs, that  is, "A*B" will
  20.     match "ARB" and not "ATC" like under DOS.
  21.  
  22.  
  23.                               =[  Disclaimer  ]=
  24.  
  25.     I have done  nearly everything to  insure FILE's proper  functionality,
  26.     but I cannot assume any liability  for any damage resulting directly or
  27.     indirectly from use or not use of  FILE or any other Fefe Soft product.
  28.     Neither  can  I  guarantee  FILE's  functionality  or  fitness  for any
  29.     purpose.  There  is  no  money-back-guarantee,  since  this  program is
  30.     ShareWare, i.e. you can test it before you buy for it, I won't give any
  31.     money back.
  32.  
  33.     Especially concerning FILE, much is  guesswork. Almost everything I use
  34.     here is found out empirically, that is, I tried it on a few samples and
  35.     then concluded  that it works in  general. Of course, this  *may* work,
  36.     but then, it may *not* work. So don't trust FILE 100% !
  37.  
  38.     If you find  something you want FILE to recognize,  then SEND ME A COPY
  39.     (my Internet  account: leitner@inf.fu-berlin.de, or  via Snail Mail  to
  40.     the address below. Even more important:  If you find that FILE is wrong
  41.     (not counting  text files, because this  is the best heuristics  can do
  42.     when only  analyzing the first 512  bytes of the files),  please let me
  43.     know and send me the sample.
  44.  
  45.     However,  if you  have any  problem which  cannot be  solved with  this
  46.     manual or  if you have  any suggestion what  this program should  do or
  47.     should not do then write me :
  48.  
  49.                  Felix von Leitner
  50.                  Gervinusstrasse 22
  51.                  Tel: +49-30-32700270  ISDN
  52.            10629 Berlin
  53.                  GERMANY
  54.  
  55.  
  56.                                =[  ShareWare  ]=
  57.  
  58.     You are allowed to test FILE 1  month, then you must decide if you want
  59.     to use FILE further, then you must register, or  not, then you must not
  60.     use it any longer.
  61.  
  62.     If you decide to register this great program, then send $20 or DM 30 to
  63.     the above adress or let your bank put the money on my account :
  64.  
  65.                  Name: Felix von Leitner
  66.            Account no: 5870043
  67.               bank ID: 100 700 00
  68.                  Bank: Deutsche Bank
  69.  
  70.     If you  register (and have an  Internet account), I will  notify you of
  71.     important updates. Nothing will happen to your FILE if you register it,
  72.     but you will take a heavy burden off your heart (hopefully) ;-)
  73.  
  74.     By the way,  I have asked my bank and they could not help me to accept
  75.     credit cards.  I understand that most  Americans want  to register via
  76.     credit card (if they want to register),  but my bank does not know how
  77.     to handle that. If anybody has a hint for me how to accept other means
  78.     of payment than cash or via my bank account, I would appreciate it !
  79.     By the way, maybe we can trade registrations if you write ShareWare ?
  80.  
  81.                                 =[  Install  ]=
  82.  
  83.     Put FILE into some path in your PATH= statement.  Put FILE.DB into the
  84.     same directory FILE.EXE is in. That's all.
  85.  
  86.  
  87.                             =[  Unwanted files  ]=
  88.  
  89.     FILE recognizes several files I don't want on my system and asks if you
  90.     want it to kill  them for you. Those are tons of  BBS ads and - intros,
  91.     TheDraw COM files and 0-byte files with strange letters in their name.
  92.  
  93.     BTW: Just  because FILE knows  a BBS  ad  that doesn't mean  I know the
  94.     number of that  BBS or I even know  the BBS or I even  know the BBS ad,
  95.     since several people have contributed annoying files to me.
  96.  
  97.     By the way:  I found a BBS ad from a  BBS called 'Waves of Warez' which
  98.     changed to say  'Warm fuckings to Fefe Soft'  or something.  Well, that
  99.     does not bother me too much, but I am happy that FILE seems to see more
  100.     of the  world than I do ;)  A message to  the friendly sysop:  FILE 2.0
  101.     detects this new intro as unwanted, too ;)
  102.  
  103.     Since only one person tried to send me  something FILE did not know and
  104.     he failed and almost daily I find new BBS ads, I decided to make FILE's
  105.     BBS ad detection better. Now you can make FILE find  previously unknown
  106.     BBS ads !  I included the hacked program NEWAD.EXE for this purpose.
  107.  
  108.     Please notice that  NEWAD.EXE is really  a hack,  so don't expect error
  109.     detection and stuff like that. You just call
  110.  
  111.       NEWAD filename.ext
  112.  
  113.     where filename.ext is the ad you want FILE to find.  Make sure that the
  114.     file NEWAD.EXE is in the same directory as FILE.EXE ! Please contribute
  115.     your new BBS ads to me if you have Internet access !!!
  116.  
  117.     The program NEWINTRO.EXE  is a hack  from NEWAD.EXE which  does exactly
  118.     the same, but FILE will think it's an intro (different color).
  119.  
  120.     BTW: You may have noticed that FILE.DB is a text file. If FILE does not
  121.     understand a line, it will silently ignore it.  So feel free to experi-
  122.     ment, but don't expect your changes to work ;)
  123.  
  124.  
  125.                               =[  Debug info  ]=
  126.  
  127.     FILE recognizes  Borland and MicroSoft debug  info. If it finds  it, it
  128.     asks you if you want it removed. If you are not the programmer, you can
  129.     safely throw away debug info and save a few bytes on your hard disk.  I
  130.     have been told that FILE has had some difficulties on some system,  but
  131.     here everything works fine and I have not been able to  reproduce this.
  132.     I suspect that the program file had the Read-only flag set.
  133.  
  134.  
  135.                                 =[  Wanted  ]=
  136.  
  137.     Things I am especially interested in :
  138.  
  139.       - EXE packers FILE doesn't know
  140.       - Image formats FILE doesn't know
  141.       - Sound formats FILE doesn't know
  142.       - Word processor file formats FILE doesn't know
  143.  
  144.     If you have something to contribute, please send it to me.
  145.  
  146.     Someone tried to send me a disk  with some things I should implement,
  147.     but the German  Post Office clobbered the  disk and since I could not
  148.     read  it, I  trashed  the accompanying  letter by accident. So if you
  149.     read this and  you were  the one sending that disk :  I am sorry that
  150.     the post killed that disk and I can't find the letter with your name.
  151.  
  152.  
  153.  
  154.                                 =[  Purpose  ]=
  155.  
  156.     You just  unzipped a demo called  LAMEDEMO which contains a  nice sound
  157.     module. But  the demo contains  100 files, called  LAMEDEMO.000 through
  158.     .099, and  you want to know  which one is the  module. FILE can analyze
  159.     all the files and find out which ones are modules, which ones are GIFs.
  160.  
  161.     Since FILE  recognizes many popular compilers'  executables, it can act
  162.     as half-secure  link virus checker.  It won't find  some stealth virii,
  163.     and it doesn't know all compilers. But if FILE says the executable is a
  164.     Borland Pascal executable, you can be pretty sure it does not contain a
  165.     virus (I know of no virus written using Borland Pascal).
  166.  
  167.     Of  course, this  program can  be used  malevolently, by  a cracker who
  168.     wants  to know  which EXE  packer or  crypter you  used to protect your
  169.     program. But  reveiling which method  you used does  not unprotect your
  170.     file, so FILE does not really cause harm.
  171.  
  172.  
  173.                                =[  Features  ]=
  174.  
  175.     FILE is so  feature loaded that I put  this section at the end  of this
  176.     document.
  177.  
  178.     Historically, FILE was an EXE analyzer.  Then I added other file types,
  179.     like sound files, graphics files, text files, and finally, BBS ads.
  180.  
  181.     FILE recognizes  tons of BBS  ads, including 0-byte  files with strange
  182.     characters  in the  name, and  some BBS  intros (including TheDraw .COM
  183.     files) as  unwanted and asks you  whether it should kill  them for you.
  184.     Since there exist thousands of BBSs,  many of them putting annoying BBS
  185.     ads into their archives, FILE will  never recognize ALL of them. But if
  186.     you find some FILE doesn't recognize, feel free to send it to me.
  187.  
  188.     FILE recognizes these EXE file types :
  189.  
  190.       - LHarc SFX
  191.         other SFX's have a SFX executable and the archive as overlay
  192.         since FILE analyzes overlays separately, so you might see :
  193.           PKLite 1.20 DOS executable; ZIP archive
  194.  
  195.       - Diet 1.0
  196.       - Diet 1.44d
  197.       - Diet 1.45f
  198.  
  199.       - PKLite 1.03
  200.       - PKLite 1.12
  201.       - PKLite 1.14/1.15
  202.       - PKLite 1.20
  203.       - PKLite a.b               send me this file !
  204.       - PKLite -e x.y            send me this file !
  205.  
  206.       - COMPACK 4.4/4.5
  207.         Almost identical, but 4.4 crashes on 486s
  208.  
  209.       - Ady''s glue
  210.         I think this one is rather a scrambler than a compressor
  211.  
  212.       - PGMPAK 0.15ß             send me other versions !
  213.  
  214.       - PROPACK                  send me the file !
  215.       - PRO-PACK 2.8
  216.  
  217.       - PROTECT! 1.0             send me other versions !
  218.       - PROTECT! 5.0
  219.  
  220.       - TINYPROG
  221.       - TINYPROG /P
  222.         The /P option encrypts the files with a password
  223.  
  224.       - Cruncher
  225.         creates a loader with the compressed data as overlay
  226.  
  227.       - EXEPACK (several versions)
  228.         there are more than 10 variants of EXEPACK, FILE finds the ones
  229.         I have encountered.
  230.  
  231.       - KVETCH 1.02ß             send me other versions !
  232.  
  233.       - LZEXE 0.91 or 1.0a       send me other versions !
  234.       - LZEXE 0.90
  235.  
  236.       - fake 'PK' loader from UNP
  237.  
  238.       - f-Shield
  239.         anti-viral shield from McAfee
  240.  
  241.  
  242.       - Borland Pascal executable
  243.         this one analyzes the code, and does NOT use the 'Runtime error'
  244.         string or the Borland (C) notice !
  245.       - Borland 16-bit DPMI executable
  246.  
  247.       - MicroSoft [Quick] C executable
  248.       - MicroSoft C executable
  249.       - MicroSoft Quick C executable
  250.         If you  know more about these  cathegories (different memory models
  251.         or different versions or whatever) tell me about it !
  252.  
  253.       - Metaware High C executable
  254.  
  255.       - Turbo C executable
  256.       - Turbo C  starting with JMP (small model ?)
  257.       - Turbo C[++] executable
  258.         See the MicroSoft C family
  259.  
  260.       - Turbo Basic executable
  261.  
  262.       - Intel Code Builder 32-bit executable
  263.         This is a 32-bit protected mode C compiler from Intel
  264.  
  265.       - Zortech C 32-bit executable
  266.       - Zortech C 16-bit executable
  267.         Does Symante C trigger this, too ?
  268.  
  269.       - Phar Lap stub
  270.         This is a small program which loads the Phar Lap DOS extender
  271.         which in turn executes the program
  272.       - old style Phar Lap protected mode executable
  273.       - Phar Lap flat/multi-segment executables
  274.  
  275.       - emx 0.8g 32-bit executable
  276.       - emx 0.8h stubbed executable
  277.       - emx 0.8h 32-bit executable
  278.         emx is the 32-bit DOS extender from Eberhard Mattes' port of GNU C
  279.         to DOS and OS/2
  280.  
  281.       - go32 32-bit executable
  282.       - go32 1.11
  283.       - go32 1.11 with program
  284.       - go32 1.??
  285.       - go32 1.?? with program
  286.         go32 is the 32-bit DOS extender from DJ Delorie's port of GNU C
  287.         to DOS
  288.  
  289.       - CODE32 32-bit executable
  290.         CODE32 is  a 32-bit DOS  extender by Tran  of Renaissance for  100%
  291.         assembly language programs
  292.  
  293.       - DOS4GW executable
  294.         DOS4GW is a 32-bit DOS extender from Rational Systems
  295.         Watcom C/C++ creates DOS4GW executables
  296.  
  297.       - 16 and 32 bit, Windoze or OS/2, applications or DLLs
  298.  
  299.       - Win32 portable executable
  300.  
  301.  
  302.     FILE recognizes DOS device drivers (COM or EXE flavors)
  303.  
  304.  
  305.     FILE recognizes these COM files :
  306.       - COMPACK 4.4
  307.       - COMPACK 4.5
  308.  
  309.       - Diet 1.0
  310.       - Diet 1.02
  311.       - Diet 1.20
  312.       - Diet 1.44
  313.  
  314.       - Ady's glue
  315.       - PROPACK 2.8
  316.       - ICE 1.0
  317.       - PKLite
  318.       - SHRINK 1.0
  319.       - SCRNCH 1.0
  320.  
  321.       - MicroSoft [Quick] C
  322.       - Self-applying Patch
  323.       - TheDraw COM file
  324.       - TXT2COM COM file
  325.  
  326.       - generic COM files (using a heuristic, not the .COM extension !)
  327.  
  328.  
  329.  
  330.     FILE recognizes these code, debug info and ressource files :
  331.       Amiga ProTracker 2.3A module loader
  332.       DJGPP .o file
  333.         DJGPP is DJ Delories port of GNU C to DOS
  334.       COFF
  335.         COFF means Common Output File Format and is the format of the
  336.         DJGPP's code which is executed by it's loader go32
  337.       Turbo Pascal 6.0 Unit
  338.       Borland Pascal 7.0 Unit
  339.       OBJect
  340.         This is only based on 1 (!) bytes, so it may be wrong !
  341.       Borland Overlay
  342.       Borland Ressource
  343.       Borland debug info
  344.       MicroSoft debug info
  345.         If you find a file whose overlay is a debug info, you can
  346.         safely cut it away
  347.       Borland Graphics Interface Driver
  348.       TP6 BGI driver
  349.  
  350.       DIGPAK driver: Advanced Gravis UltraSound
  351.       MIDPAK driver: Advanced Gravis UltraSound
  352.       WAVE-Miles Driver: Forte UltraSound(TM) Digital Sound
  353.       MIDI-Miles Driver: Advanced Gravis UltraSound Card
  354.  
  355.  
  356.     FILE recognizes these images, fonts and movies :
  357.       TeX DeVice Independant bitmap
  358.         TeX is a typesetting language by Donald Knuth
  359.       Windoze 640x480 24-bit bitmap
  360.       640x480 GIF87a image
  361.       640x480 GIF89a image
  362.         GIF is the Graphics Interchange Format from Compu$erve
  363.         I can't detect the number of colors yet
  364.       TIFF image
  365.         Tag Image File Format
  366.         I can't detect the number of colors and the TIFF type
  367.       640x480 JFIF image
  368.         I think JPEG files are always 24-bit
  369.       640x512 24 bit IFF ILBM image
  370.       640x512 8 bit IFF Portable Bitmap
  371.       640x480 PCX image
  372.         PCX detection is not very reliable
  373.       OS/2 AVI movie
  374.         I have been told that Video for Windows uses this format, too
  375.       3d Studio mesh
  376.         3d-Studio is a modeller and renderer for DOS
  377.       Borland Graphics Interface vector font
  378.       Amiga Workbench .inf Icon
  379.       320x200x123 Fefe Soft Compressed Bitmap revision 0
  380.         This is my very own graphics format ;)
  381.       FIF Fractal Compressed Image
  382.         Found a decompression demo with two demo images
  383.  
  384.  
  385.     FILE recognizes these help and word processor files :
  386.       Borland Pascal help file
  387.       Windows help file
  388.       Norton Guide help file
  389.       Turbo Vision help file
  390.       OS/2 help file / book
  391.       WordPerfect text file
  392.       Windoze WRITE text file
  393.       WinWord 2.0 text file
  394.       WinWord 6.0 text file
  395.         This is a guess, too. Please tell me about versions etc.
  396.  
  397.  
  398.     FILE recognizes these archives and compressed files :
  399.       ARJ archive
  400.       ZIP archive
  401.       PKZIP 1.1 SFX archive (this happens only as overlay)
  402.       LHA archive
  403.       LIMIT archive
  404.       HA archive
  405.         HA is Harry's Archiver
  406.       UC2 archive
  407.         UC2 is UltraCompressor ][
  408.       encrypted UltraCompressor ][ archive
  409.         (usually .UE2)
  410.       RAR archive
  411.         RAR is a russian archiver
  412.       HAP archive
  413.         PAH is the decompressor for HAP
  414.       HPACK archive
  415.       TeleDisk file
  416.         TeleDisk can produce a file with an exact copy of a diskette
  417.       gzipped
  418.         gzip is GNU Zip, the compressor from the GNU project
  419.       'compress'ed
  420.         compress is the UNIX LZW compress program
  421.       PowerPacker packed file
  422.         PowerPacker is an Amiga compressor. Occasionally you can find
  423.         sound modules compressed with it
  424.       could be a TAR archive
  425.         the heuristic has become quite reliable now
  426.  
  427.  
  428.     FILE recognizes these sound files :
  429.       .CMF Creative Music tune
  430.       .ROL FM tune
  431.         These are FM (Adlib) music files
  432.       General MIDI tune
  433.  
  434.       MultiTracker 1.0 Module "blah"
  435.       UltraTracker Module "blah"
  436.       Scream Tracker 3.0 tune "blah"
  437.       Delusion DMF "blah"
  438.       Advanced Module Format "blah"
  439.       669 tune "blah"
  440.       extended 669 tune "blah"
  441.       LIQUID tune "blah"
  442.       Farandole Composer tune
  443.         These are all modules from PC trackers.
  444.         They include the tune and the sampled instruments
  445.  
  446.       Face The Music tune "blah"
  447.         This is an Amiga tracker (no playback on PC so far)
  448.       Oktalyzer module
  449.         This is an 8 channel Amiga tracker
  450.       MED module
  451.         Another Amiga tracker
  452.       31 sample MOD "blah"
  453.         These are Amiga 'M.K.' 4-channel MODs
  454.       4 channel MOD "blah"
  455.         These are Amiga 'FLT4' 4-channel MODs or
  456.         PC '4CHN' FastTracker MODs
  457.       6 channel FastTracker MOD "blah"
  458.       8 channel FastTracker MOD "blah"
  459.       8 channel Octalyzer MOD "blah"
  460.         Some Amiga tracker with 'OCTA' signature
  461.         Don't know if this is Octalyzer or OctaMED
  462.         or the other Octa-MOD is OctaMED ... enlighten me !
  463.       Unix 22.0 KHz .au audio file
  464.       VOC sound wave
  465.       22.0 KHz 16 bit stereo sound wave
  466.         this is the Windoze WAV format
  467.       Farandole Composer sample
  468.       Gravis UltraSound Patch file
  469.  
  470.  
  471.     FILE recognizes these text files :
  472.       ANSI files (including some unwanted BBS ads)
  473.  
  474.       UNIX style
  475.       MAC style
  476.       DOS style
  477.         This means how lines end. UNIX lines end with LF,
  478.         MAC lines end with CR, DOS lines end with CRLF
  479.  
  480.       "/bin/sh" script
  481.         These are UNIX shell scripts, "/bin/sh" is the shell
  482.  
  483.       C/C++ source code
  484.       PASCAL source code
  485.       HelpDK source file
  486.         HelpDK is the Help Development Kit from Ron Loewy, which
  487.         creates different help compilers' source files from your
  488.         HelpDK help file definition
  489.       POPHELP source file
  490.         POPHELP is a help file viewer from TurboPower software
  491.       LaTeX source file
  492.       Makefile
  493.         This is not very reliable, FILE may tell you about some
  494.         text files they are Makefiles
  495.       DOS/OS2 batch file
  496.       UNIX man page source file
  497.  
  498.     These  heuristics are  very good,  but because  FILE only  analyzes the
  499.     first 512 bytes of each file, they can never be perfect. So don't count
  500.     on FILE's  findings, the text file  recognition is rather a  gag than a
  501.     killer feature.
  502.  
  503.  
  504.  
  505.                            =[  Revision History  ]=
  506.  
  507.     1.0  first publicly available version
  508.  
  509.     2.0  added expandable BBS ad database "FILE.DB" !
  510.